1
从分而治之到自我调用:递归的思维转变
AI028Lesson 4
00:00

Dari Iterasi ke Rekursi: Rekonstruksi Pola Pikir

递归 (Recursion) 是一种从本质上改变问题解决视角的方法论。在处理列表求和等问题时,metode iteratif(Daftar Kode 4-2) bergantung pada penghitung eksplisit theSum dan kontrol status perulangan; sementara metode rekursi bergantung pada definisi matematis yang mendalam:

$$listsum(numList) = first(numList) + listsum(rest(numList))$$

Rekursi bukan hanya fungsi yang memanggil dirinya sendiri, tetapi juga memecah masalah kompleks menjadi sub-masalah berukuran lebih kecil dengan struktur yang sama, intinya terletak pada pengenalankesamaan diri. Eksekusi rekursi mencakup dua tahap simetris:

  • tahap "turun": terus memotong daftar dan menekannya ke dalam tumpukan pemanggilan hingga mencapai kondisi dasar yang dapat diselesaikankondisi dasar(Base Case).
  • tahap "kembali": mulai dari keadaan paling sederhana, kembali secara bertahap ke atas dan menggabungkan hasil.
Intuisi Utama
Pola pikir iteratif adalah "mengambil ember, lalu menambahkan angka satu per satu ke dalamnya"; sedangkan pola pikir rekursif adalah "jika kamu bisa memberitahu saya jumlah dari sisa angka-angka tersebut, saya hanya perlu menambahkan angka pertama saja".